//! \file threadobject.hpp
//! \brief Purewell Library Thread Object Header
//! \author Yubin Lim (purewell@gmail.com)
//! \since 2008-01-25

#ifndef __PWHDR_THREAEDOBJECT_HPP__
#define __PWHDR_THREAEDOBJECT_HPP__

namespace purewell
{

//! \brief Thread object
class PWThreadObject
{
public:
	//! \brief Get data pointer.
	//! \return Data pointer.
	inline void* getData(void) { return m_pData; }

	//! \brief Get Data pointer.
	//! \return Data pointer.
	inline const void* getData(void) const { return m_pData; }

protected:
	explicit PWThreadObject();
	virtual ~PWThreadObject();

protected:
	void* m_pData;	//!< Data pointer.

private:
	//! \brief Assign operator.
	//! \param[in] v Nothing.
	//! \return Nothing.
	PWThreadObject& operator = (const PWThreadObject& v) { return *this; }
};

};//namespace purewell

#endif//!__PWHDR_THREAEDOBJECT_HPP__

